package Day11;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * @Author kalista
 * @Description
 * @Date 2020/11/17  9:21
 **/
public class ArryListTest {
    public static void main(String[] args) {
        //集合又称为容器  用于存储 提取   删除数据   JDK提供集合API 都在  java.util包
        // List接口常用方法
        List<String> stringList = new ArrayList<>();
        // 1. add  向列表的尾部添加指定的元素
        // <String> 泛型表示 集合种存在的形式的类型元素  底层c++实现的。 非常复杂
        stringList.add("王聪聪");
        stringList.add("萤火虫");

        // 2. 返回列表指定位置 元素 当然index从 0 开始
        System.out.println(stringList.get(1));
        // 3. 返回列表的元素的个数
        System.out.println(stringList.size());
        // 4. add(int index,object)
        stringList.add(1,"糊涂蛋");
        // 5. set 使用元素替换索引位置的并返回被替换的元素
        stringList.set(1,"聪明蛋");
        // 6. clear 从列表种移除所有的元素
//        stringList.clear();
        // 7. isEmpty 判断列表是否有无元素。 不包含元素 true 包含 false
        if (stringList != null && !stringList.isEmpty()){
            System.out.println(stringList.get(0));
         // 8. contains 如果列表包含指定的元素 则返回true
            System.out.println(stringList.contains("王"));
        }
        // 9. remove 删除
        stringList.remove(1);
        stringList.remove("聪明蛋");

        System.out.println(stringList);
        
        
        // 三种遍历



        // 遍历一 普通for
        for (int i = 0; i < stringList.size(); i++) {
            System.out.println(stringList.get(i));
        }

        // 遍历二 增强for

        // 第一个位置 泛型类型  第二个位置 变量名自己定义  第三个位置 ：   第四个位置  那个list
        for (String object : stringList) {
            System.out.println(object);
            System.out.println(object.charAt(0));
            System.out.println(object.replaceAll("-","e"));
            System.out.println(object.substring(1));
        }

        System.out.println("=================");

        // 遍历三 迭代式
        // list 转 迭代
        Iterator<String> iterator = stringList.iterator();

        //hasNext 判断 盘 里是否有东西 如果有 就为true 如果没有就为false
        while (iterator.hasNext()){
            // 拿出一个元素
            String next = iterator.next();

            System.out.println(next);
        }

    }
}
